Posteingang über Tabellen lesen
Lesen des SAP-Office “Posteingangs” über Tabellen. Je vielfältiger die Meldungen im Posteingang sind, desto aufwendiger wird zwar die Programmierung, aber um einfache Textnachrichten auszulesen — und die Berechtigungsprüfung zu umgehen!!! — reicht das Programm aus.
REPORT zposteingang.
*** —————————————————————-
*** Lesen Posteingang über Tabellen
*** Keine Berechtigungsprüfung!!!!!
*** —————————————————————-
TYPE-POOLS icon.
DATA:
hex_0d TYPE x VALUE ‘0D’,
hex_0a TYPE x VALUE ‘0A’,
hex_return(2) TYPE x VALUE ‘0D0A’,
BEGIN OF t_test OCCURS 0,
line(255),
END OF t_test,
l_souc LIKE souc,
l_soud LIKE soud,
l_sood LIKE sood,
t_sofm LIKE sofm OCCURS 0 WITH HEADER LINE,
t_docs LIKE sood4 OCCURS 0 WITH HEADER LINE,
l_docs LIKE sood4,
t_folder_cont LIKE somt OCCURS 0 WITH HEADER LINE,
t_object_cont LIKE soli OCCURS 0 WITH HEADER LINE,
t_object_head LIKE soli OCCURS 0 WITH HEADER LINE,
t_object_para LIKE selc OCCURS 0 WITH HEADER LINE,
t_object_parb LIKE soop1 OCCURS 0 WITH HEADER LINE,
l_object_id LIKE soodk.
PARAMETERS: p_uname TYPE xubname DEFAULT sy-uname.
START-OF-SELECTION.
*– Benutzerinformation lesen
SELECT SINGLE * FROM souc INTO l_souc WHERE sapnam = p_uname.
*– Mappen-Information des Benutzers lesen
SELECT SINGLE * FROM soud INTO l_soud
WHERE usrtp = l_souc-usrtp
AND usryr = l_souc-usryr
AND usrno = l_souc-usrno.
*– Posteingangsmappe zur weiteren Verarbeitung auswählen
l_object_id-objtp = ‘FOL’.
l_object_id-objyr = l_soud-inbyr.
l_object_id-objno = l_soud-inbno.
*– Alle Inhalte dieser Mappe lesen
SELECT * FROM sofm INTO TABLE t_sofm
WHERE foltp = ‘FOL’
AND folyr = l_soud-inbyr
AND folno = l_soud-inbno.
LOOP AT t_sofm.
*– Header-Information zu dieser Mappe lesen
SELECT SINGLE * FROM sood INTO l_sood
WHERE objtp = t_sofm-doctp
AND objyr = t_sofm-docyr
AND objno = t_sofm-docno.
*– Überschrift ausgeben
FORMAT COLOR COL_TOTAL.
WRITE: / l_sood-objnam, l_sood-objdes.
*– Status
CASE t_sofm-objrd.
WHEN ‘X’.
*– Dokument wurde gelesen
WRITE icon_mail_sap_read AS ICON.
WHEN space.
*– Dokument wurde noch nicht gelesen
WRITE icon_mail_sap_unread AS ICON.
ENDCASE.
FORMAT COLOR OFF.
MOVE-CORRESPONDING t_sofm TO l_docs.
MOVE-CORRESPONDING l_sood TO l_docs.
l_object_id-objtp = t_sofm-doctp.
l_object_id-objyr = t_sofm-docyr.
l_object_id-objno = t_sofm-docno.
*– Dokumenteninhalt lesen (Ohne Berechtigungsprüfung)
PERFORM data_select(sapfsso1) TABLES t_object_head
t_object_cont
t_object_para
t_object_parb
USING l_object_id
sy-subrc.
*– Dokument ausgeben
LOOP AT t_object_cont.
DO.
*– CarriageReturn + NewLine herausfiltern
REPLACE hex_return WITH ‘~’ INTO t_object_cont-line.
IF sy-subrc > 0.
EXIT.
ENDIF.
ENDDO.
*– Zeilenumbruch
SPLIT t_object_cont-line AT ‘~’ INTO TABLE t_test.
LOOP AT t_test.
WRITE: /4 t_test-line.
ENDLOOP.
ENDLOOP.
SKIP 1.
ENDLOOP.
- Meine Eclipse-Plugins - 22. November 2024
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024